package com.example.myapplication

import android.os.Bundle
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import android.widget.LinearLayout
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        //setContentView(R.layout.activity_main),此处只是用源代码没有用xml去实现布局规划，就不是连接activity
        val linearLayout= LinearLayout(this);//创建一个布局
        linearLayout.orientation= LinearLayout.VERTICAL;//linearLayout设置布局，orientation表示设置方向为垂直布局
        linearLayout.id = View.generateViewId()//给linearLayout设置唯一id这样在ViewCompat中才能监听我的程序
        //不然会闪退报错

        val textView= TextView(this);
        //textView规划大小只能这么表示
        textView.layoutParams= ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.WRAP_CONTENT);//高度WRAP_CONTENT作为文本有多少会自动调整文本的高度
        textView.textSize=30F;//给textView规划大小
        textView.text=getString(R.string.textView);//使用getString方法获取文本内容
        linearLayout.addView(textView);//

        val button= Button(this);
        //这是button按钮规划大小表示
        button.width= ViewGroup.LayoutParams.MATCH_PARENT;
        button.height= ViewGroup.LayoutParams.WRAP_CONTENT;
        button.text=getString(R.string.button);
        linearLayout.addView(button);

        setContentView(linearLayout);//而是连接linearLayout
        button.setOnClickListener {
            textView.text=getString(R.string.clicked);//按钮点击会监听会实现的效果
        }


        ViewCompat.setOnApplyWindowInsetsListener(findViewById(linearLayout.id)) { v, insets ->
            val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
            insets
        }
    }
}